Network game systems can be roughly categorized into two types, i.e., client/server type network game systems and peer-to-peer network game systems.
In a client/server type network game system, each user terminal is connected to a game server as a client, and the game server mainly performs game processing to execute a game. In the client/server type network game system, the greater the number of user terminals connected to the game server is, the greater is the processing load on the game server. For this reason, the game server is required to have high capacity. This leads to a high cost of constructing the network game system, which is a disadvantage of the client/server type.
On the other hand, in a peer-to-peer network game system, basically, a game is executed through communications performed among user terminals. For this reason, a game server having high capacity, which is necessary for the client/server type network game system, is not necessary. In addition, data transfer among the user terminals is not required to be performed via a game server. Therefore, the peer-to-peer network game system is suitable for executing a game requiring real-time processing such as a racing game.
The peer-to-peer network game systems are further categorized into two types, i.e., host network systems (refer to FIG. 38) and mesh network systems (refer to FIG. 39). These two types of network share a common feature in which any one of user terminals comprising a network operates as a host terminal, and remaining user terminals operate as client terminals. In a host network system, the host terminal has very strong authority. The host terminal performs most of critical arithmetic processing just like a server of the client/server type network game system, and each client terminal performs only simple arithmetic processing. On the other hand, in the mesh network system, a host terminal plays limited roles compared with a host terminal of the host network system, and arithmetic processing is basically performed by each client terminal.
An exemplary peer-to-peer network game system is disclosed in a non-patent document 1 (Jung Wun-Chul, “Online Game Programming”, SOFTBANK Publishing Inc., Mar. 3, 2005, first edition, pp. 218-222)
A conventional peer-to-peer network game system is established as follows: first, any of user terminals, which operates as a host terminal, creates a game session; and the other user terminals are sequentially connected to the host terminal. For instance, in the case where four users play a racing game together, one user terminal, which operates as a host terminal, creates a game session for the racing game, and then three user terminals are connected to the host terminal as client terminals. Then, the racing game starts. However, if each of a plurality of user terminals creates a game session while operating as a host terminal, and two user terminals are connected as client terminals to each host terminal, the racing game does not start even though there are more than three players in total who wish to play the racing game, because the number of client terminals connected to each host terminal has not reached a predetermined number.
Therefore, a feature of the present invention is to provide a network game system which is capable of: eliminating the above-described problem of the conventional peer-to-peer network game system; and efficiently establishing a network thereby preventing users from waiting for a long time for the network to be established.
The present invention has the following features. Note that reference numerals and the like indicated between parentheses are merely provided to facilitate the understanding of the present invention in relation to the drawings, rather than limiting the scope of the present invention in any way.
A first aspect is a network game system comprising a plurality of game devices (20) connected to each other via a network, each of which is capable of, in a game device group formed by one host terminal and at least one client terminal, operating as the host terminal or the client terminal. Each of the game devices, which constitutes the network game system, includes fundamental connection request transmission means (21, S20), fundamental connection request reception means (21, S22), acceptance determination means (21, S48), first host process means (21, S64), permission notification means (21, S52), client process means (21, S88), host connection request transmission means (21, S20), host connection request reception means (21, S22), host acceptance determination means (21, S48), second host process means (21, S64), host permission notification means (21, S52) and dispersion process means (21, S86). The fundamental connection request transmission means is for, when said each of the game devices does not belong to any game device group, transmitting a fundamental connection request to another game device (FIGS. 9 and 14). The fundamental connection request reception means is for receiving the fundamental connection request from still another game device. The acceptance determination means is for determining whether or not to accept the fundamental connection request received by the fundamental connection request reception means. The first host process means is for, when said each of the game devices does not belong to any game device group and a determination result provided by the acceptance determination means is positive, transmitting an acceptance notification to said still another game device which is a source of the fundamental connection request received by the fundamental connection request reception means, and causing said each of the game devices to operate as a host terminal of a game device group including at least said each of the game devices and said still another game device which is the source of the fundamental connection request received by the fundamental connection request reception means. The permission notification means is for, when said each of the game devices is operating as a host terminal and a determination result provided by the acceptance determination means is positive, transmitting the acceptance notification to said still another game device which is the source of the fundamental connection request received by the fundamental connection request reception means. The client process means is for, when the acceptance notification is received from said another game device in response to the fundamental connection request transmitted by the fundamental connection request transmission means, causing said each of the game devices to operate as a client terminal subordinate to said another game device having accepted the fundamental connection request. The host connection request transmission means is for, when said each of the game devices is operating as a host terminal, transmitting a host connection request to any other game device (FIG. 23). The host connection request reception means is for receiving the host connection request from any host terminal. The host acceptance determination means is for determining whether or not to accept the host connection request received by the host connection request reception means. The second host process means is for, when said each of the game devices does not belong to any game device group and a determination result provided by the host acceptance determination means is positive, transmitting a host acceptance notification to said any host terminal which is a source of the host connection request received by the host connection request reception means, and causing said each of the game devices to operate as a host terminal of a game device group including at least said each of the game devices and a game device having previously operated as said any host terminal which is the source of the host connection request received by the host connection request reception means. The host permission notification means is for, when said each of the game devices is operating as a host terminal and a determination result provided by the host acceptance determination means is positive, transmitting the host acceptance notification to said any host terminal which is the source of the host connection request received by the host connection request reception means. The dispersion process means is for, when the host acceptance notification is received from said any other game device in response to the host connection request transmitted by the host connection request transmission means, transmitting a dispersion notification to a client terminal of a game device group to which said each of the game devices belongs, and causing said each of the game devices to operate as a client terminal subordinate to said any other game device having accepted the host connection request.
As a modification example of the first aspect, the host connection request transmission means of each of the game devices may transmit the host connection request to another host terminal only when a number of client terminals of a game device group, to which said each of the game devices belongs, has not reached a predetermined number.
As another modification example of the first aspect, the host connection request transmission means of each of the game devices may change, based on a number of client terminals of a game device group to which said each of the game devices belongs, an interval between each transmission of the host connection request to another game device.
As further another modification example of the first aspect, the host connection request transmission means of each of the game devices may lengthen an interval between each transmission of the host connection request to another host terminal, in accordance with an increase in a number of client terminals of a game device group, to which said each of the game devices belongs.
As further another modification example of the first aspect, the network game system may further comprise an address information server. The address information server may include: game device information collection means for collecting, from each of the game devices connected to the network, game device information containing address information for accessing at least said each of the game devices, and storing the game device information in a storage section; and address information transmission means for, in response to an address information acquisition request from one of the game devices connected to the network, transmitting, to said one of the game devices, address information about at least one game device which is different from said one of the game devices from among address information about the game devices which has been collected by the game device information collection means.
As further another modification example of the first aspect, the address information transmission means, in response to the address information acquisition request from one of the game devices connected to the network, may transmit, to said one of the game devices, an address information list containing the address information about the game devices except said one of the game devices. Each of the game devices may further include: address information list request means for requesting the address information list from the address information server; address information list reception means for receiving the address information list from the address information server; and address information extraction means for randomly extracting one piece of address information from the address information list received by the address information list reception means. The fundamental connection request transmission means of each of the game devices may transmit, by using the one piece of address information randomly extracted by the address information extraction means, the fundamental connection request to a game device corresponding to the one piece of address information.
As further another modification example of the first aspect, the address information transmission means, in response to the address information acquisition request from a host terminal connected to the network, may transmit, to the host terminal, the address information list containing address information about a plurality of other host terminals. Each of the game devices may further include: the address information list request means for requesting the address information list from the address information server; the address information list reception means for receiving the address information list from the address information server; and the address information extraction means for, based on a predetermined indicator contained in each piece of address information in the address information list received by the address information list reception means, extracting one piece of address information from the address information list. The host connection request transmission means of each of the game devices may transmit, by using the one piece of address information extracted by the address information extraction means, a host connection request to a host terminal corresponding to the one piece of address information.
As further another modification example of the first aspect, in the case where a plurality of pieces of address information are extracted, based on the predetermined indicator, from the address information list received by the address information list reception means, the address information extraction means may randomly extract one piece of address information from among the plurality of pieces of extracted address information.
As further another modification example of the first aspect, the address information transmission means, in response to the address information acquisition request from a host terminal connected to the network, may transmit, to the host terminal, the address information list containing address information about a plurality of other host terminals. Each of the game devices may further include: the address information list request means for requesting the address information list from the address information server; the address information list reception means for receiving the address information list from the address information server; and the address information extraction means for randomly extracting one piece of address information from the address information list received by the address information list reception means. The host connection request transmission means of each of the game devices may transmit, by using the one piece of address information randomly extracted by the address information extraction means, a host connection request to a host terminal corresponding to the one piece of address information.
As further another modification example of the first aspect, when, after the fundamental connection request transmission means has transmitted a fundamental connection request to a first other game device and before an acceptance or a rejection of the fundamental connection request is notified, the fundamental connection request reception means receives a fundamental connection request from a second other game device, the acceptance determination means may determine based on a predetermined criterion whether or not to accept the fundamental connection request from the second other game device. Each of the game devices may further include cancellation signal transmission means for, when a determination result provided by the acceptance determination means is positive, transmitting a cancellation signal to the first other game device.
As further another modification example of the first aspect, the acceptance determination means may determine, by comparing an identifier associated with the first other game device with an identifier associated with the second other game device, whether or not to accept the fundamental connection request from the second other game device.
A second aspect of the present invention is a computer-readable storage medium storing a network game program used in a network game system in which a plurality of game devices (20) connected to each other via a network form a game device group, and one game device in the game device group operates as a host terminal whereas remaining game devices operate as client terminals. The network game program causes a computer (21) of each of the plurality of game devices to function as fundamental connection request transmission means, fundamental connection request reception means, acceptance determination means, first host process means, permission notification means, client process means, host connection request transmission means, host connection request reception means, host acceptance determination means, second host process means, host permission notification means and dispersion process means.
A third aspect of the present invention is a network game system for forming one game device group from at least two game device groups each being formed by a plurality of game devices connected to each other via a network. In the system, a first game device (20), which operates as a host terminal of a first game device group, includes connection request transmission means (21, S20) and dispersion process means (21, S84, S86). The connection request transmission means is for transmitting a connection request to a second game device, which operates as a host terminal of a second game device group. The dispersion process means is for, when the first game device has received a connection permission notification from the second game device, dispersing the first game device group after transmitting, to a game device operating as a client terminal in the first game device group, connection destination information for establishing a connection with the second game device. The second game device (20), which operates as the host terminal of the second game device group, includes connection permission notification transmission means (21, S52) and client acceptance means (21, S64). The connection permission notification transmission means is for transmitting the connection permission notification to the first game device when the second game device is able to accept the connection request from the first game device. The client acceptance means is for, after the connection permission notification means has transmitted the connection permission notification, accepting the first game device as a client terminal of the second game device group.
As a modification example of the third aspect of the present invention, the second game device may have second acceptance means for, when the second game device receives the connection request from the game device operating as the client terminal in the first game device group, accepting the game device as a client terminal of the second game device group, provided that the game device satisfies a predetermined condition.
As another modification example of the third aspect, communications among the game devices of the at least two game device groups may be performed via a matching server (10) which manages a connection destination for each of the game devices and information about each of the game device groups.
As further another modification example of the third aspect, the first game device may further include: acceptance determination means for, when, after the connection request transmission means has transmitted to the second game device a connection request and before an acceptance or a rejection of the connection request is notified, the first game device receives a connection request from a third game device, determining based on a predetermined criterion whether or not to accept the connection request from the third game device; and cancellation signal transmission means for transmitting a cancellation signal to the second game device when a determination result provided by the acceptance determination means is positive.
As further another modification example of the third aspect, the acceptance determination means may determine whether or not to accept the connection request from the third game device by comparing an identifier associated with the second game device with an identifier associated with the third game device.
A fourth aspect of the present invention is a computer-readable storage medium storing a network game program used in a network game system in which one game device group is formed from at least two game device groups each comprising a plurality of game devices (20) which are connected to each other via a network. The network game program causes a computer (21) of a first game device, which operates as a host terminal of a first game device group, to function as connection request transmission means and dispersion process means, and causes a computer (21) of a second game device, which operates as a host terminal of a second game device group, to function as connection permission notification transmission means and client acceptance means.
A fifth aspect of the present invention is a game device in a network game system comprising a plurality of game devices (20) which are connected to each other such that the game devices are able to communicate with each other. The game device includes request acceptance process means (21, S20), client process means (21, S88) and host process means (21, S64). The request acceptance process means is for simultaneously performing a connection request process for transmitting a connection request to another game device in order to participate in a game device group, and a connection acceptance process for accepting a connection request from another game device in order to form a game device group. The client process means is for, when the game device is allowed to participate in the game device group as a result of performing the connection request process, performing a process in order for the game device to operate as a client terminal of the game device group. The host process means is for, when a game device group is allowed to be formed as a result of performing the connection acceptance process, performing a process in order for the game device to operate as a host terminal of the game device group.
As a modification example of the fifth aspect, the game device may further include dispersion means for, when, in the case where the game device is operating as a host terminal of a game device group by means of the host process means, the game device is allowed to participate in another game device group by means of the request acceptance process means, transmitting, to a game device operating as a client terminal of the game device group to which the game device operating as the host terminal belongs, connection destination information about another game device operating as a host terminal of said another game device group, and then dispersing the game device group.
As another modification example of the fifth aspect, the game device may further include: new connection destination information reception means for, when the game device is operating as a client terminal by means of the client process means, receiving, from a host terminal of a game device group to which the game device belongs, connection destination information about a host terminal of another game device group; and connection request means for, when the host terminal of the game device group, to which the game device belongs, has dispersed the game device group, transmitting a connection request to the host terminal of said another game device group in accordance with the connection destination information about the host terminal of said another game device group.
As further another modification example of the fifth aspect, the game device may further include: acceptance determination means for, when, after the request acceptance process means has transmitted a connection request to a first other game device and before an acceptance or a rejection of the connection request is notified, the game device receives a connection request from a second other game device, determining based on a predetermined criterion whether or not to accept the connection request from the second other game device; and cancellation signal transmission means for transmitting a cancellation signal to the first other game device when a determination provided by the acceptance determination means is positive.
As further another modification example of the fifth aspect, the acceptance determination means may determine, by comparing an identifier associated with the first other game device with an identifier associated with the second other game device, whether or not to accept the connection request from the second other game device.
A sixth aspect of the present invention is a computer readable storage medium storing a network game program for causing a computer (21) of a game device, which is in a network game system comprising a plurality of game devices (20) which are connected to each other such that the devices are able to communicate with each other, to function as request acceptance process means, client process means and host process means.
According to the above-described present invention, a host terminal transmits a host-to-host connection request to another host terminal. This eliminates a problem that a game does not start even if there are more than a predetermined number of users who wish to play the game, because the number of client terminals connected to each host terminal has not reached a predetermined number. Thus, a game device group is efficiently formed, and users are allowed to start playing a network game without being kept waiting for a long time.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.